Chapter 5 Community composition

load("data/data.Rdata")

5.1 Taxonomy overview

5.1.1 Stacked barplot

genome_counts_filt %>%
  mutate_at(vars(-genome),~./sum(.)) %>% #apply TSS nornalisation
  pivot_longer(-genome, names_to = "sample", values_to = "count") %>% #reduce to minimum number of columns
  left_join(., genome_metadata, by = join_by(genome == genome)) %>% #append genome metadata
  left_join(., sample_metadata, by = join_by(sample == sample)) %>% #append sample metadata
  filter(count > 0) %>% #filter 0 counts
  ggplot(., aes(x=sample,y=count, fill=phylum, group=phylum)) + #grouping enables keeping the same sorting of taxonomic units
    geom_bar(stat="identity", colour="white", linewidth=0.1) + #plot stacked bars with white borders
    scale_fill_manual(values=phylum_colors) +
    facet_nested(. ~ altitude + treatment,  scales="free") + #facet per day and treatment
    guides(fill = guide_legend(ncol = 1)) +
    theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
          axis.title.x = element_blank(),
          panel.background = element_blank(),
          panel.border = element_blank(),
          panel.grid.major = element_blank(),
          panel.grid.minor = element_blank(),
          axis.line = element_line(linewidth = 0.5, linetype = "solid", colour = "black")) +
   labs(fill="Phylum",y = "Relative abundance",x="Samples")

Number of bacteria phyla

[1] 13

5.1.2 Phylum relative abundances

phylum_summary <- genome_counts_filt %>%
  mutate_at(vars(-genome),~./sum(.)) %>% #apply TSS nornalisation
  pivot_longer(-genome, names_to = "sample", values_to = "count") %>%
  left_join(sample_metadata, by = join_by(sample == sample)) %>%
  left_join(genome_metadata, by = join_by(genome == genome)) %>%
  group_by(sample,phylum,region, environment,treatment) %>%
  summarise(relabun=sum(count))
phylum_summary %>%
    group_by(phylum) %>%
    summarise(total_mean=mean(relabun*100, na.rm=T),
              total_sd=sd(relabun*100, na.rm=T))  %>%
    mutate(total=str_c(round(total_mean,2),"±",round(total_sd,2))) %>% 
    arrange(-total_mean) %>% 
    dplyr::select(phylum,total) %>% 
    tt()
tinytable_cccumc6wxfidsv3stgd1
phylum total
p__Bacteroidota 56.02±16.86
p__Bacillota_A 17.72±6.39
p__Pseudomonadota 11.57±13.5
p__Bacillota 5.48±8.81
p__Verrucomicrobiota 4.12±4.51
p__Desulfobacterota 1.79±1.74
p__Fusobacteriota 1.37±2.18
p__Bacillota_C 0.65±0.93
p__Deferribacterota 0.6±0.77
p__Cyanobacteriota 0.37±0.5
p__Bacillota_B 0.15±0.14
p__Elusimicrobiota 0.13±0.43
p__Chlamydiota 0.03±0.08
phylum_arrange <- phylum_summary %>%
    group_by(phylum) %>%
    summarise(mean=mean(relabun)) %>%
    arrange(-mean) %>%
    select(phylum) %>%
    pull()

phylum_summary %>%
    filter(phylum %in% phylum_arrange) %>%
    mutate(phylum=factor(phylum,levels=rev(phylum_arrange))) %>%
    ggplot(aes(x=relabun, y=phylum, group=phylum, color=phylum)) +
        scale_color_manual(values=phylum_colors[rev(phylum_arrange)]) +
        geom_jitter(alpha=0.5) + 
        theme_minimal() + 
        theme(legend.position="none") +
        labs(y="Phylum",x="Relative abundance")

5.2 Taxonomy boxplot

5.2.1 Family

family_summary <- genome_counts_filt %>%
  mutate_at(vars(-genome),~./sum(.)) %>% #apply TSS nornalisation
  pivot_longer(-genome, names_to = "sample", values_to = "count") %>% #reduce to minimum number of columns
  left_join(sample_metadata, by = join_by(sample == sample)) %>% #append sample metadata
  left_join(., genome_metadata, by = join_by(genome == genome)) %>% #append genome metadata
  group_by(sample,family) %>%
  summarise(relabun=sum(count))

family_summary %>%
    group_by(family) %>%
    summarise(mean=mean(relabun, na.rm=T),sd=sd(relabun, na.rm=T)) %>%
    arrange(-mean) %>%
    tt()
tinytable_4u4bk1m9etdlj8f1lfty
family mean sd
f__Bacteroidaceae 2.747168e-01 1.407196e-01
f__Rikenellaceae 1.391991e-01 7.396770e-02
f__Tannerellaceae 7.720647e-02 4.561100e-02
f__Ruminococcaceae 5.793749e-02 4.189494e-02
f__Lachnospiraceae 4.729335e-02 3.337791e-02
f__Enterobacteriaceae 4.336104e-02 9.482159e-02
f__Akkermansiaceae 3.968436e-02 4.368196e-02
f__Marinifilaceae 3.738796e-02 3.555050e-02
f__Aeromonadaceae 3.216280e-02 5.116161e-02
f__Mycoplasmoidaceae 3.122255e-02 8.895328e-02
f__Erysipelotrichaceae 2.221957e-02 1.788968e-02
f__ 1.956762e-02 1.924658e-02
f__Desulfovibrionaceae 1.794839e-02 1.740772e-02
f__Fusobacteriaceae 1.368885e-02 2.180794e-02
f__Clostridiaceae 1.366840e-02 1.906657e-02
f__Moraxellaceae 1.342615e-02 2.724203e-02
f__Oscillospiraceae 1.250406e-02 8.936335e-03
f__Cellulosilyticaceae 1.133545e-02 2.080456e-02
f__Butyricicoccaceae 9.655203e-03 2.753799e-02
f__CAG-239 8.744086e-03 1.388356e-02
f__CHK158-818 7.109525e-03 8.651652e-03
f__Anaerovoracaceae 6.170476e-03 9.224529e-03
f__Mucispirillaceae 6.016547e-03 7.689861e-03
f__Peptostreptococcaceae 5.928800e-03 1.660295e-02
f__P3 5.211451e-03 8.758697e-03
f__Muribaculaceae 5.091676e-03 6.107022e-03
f__UBA3637 5.049775e-03 1.024626e-02
f__Gastranaerophilaceae 3.475214e-03 4.812600e-03
f__Anaerotignaceae 2.499790e-03 2.422026e-03
f__UBA932 2.488889e-03 4.069053e-03
f__Acutalibacteraceae 2.311710e-03 3.337834e-03
f__Chromobacteriaceae 2.083279e-03 9.013217e-03
f__UBA3830 2.074625e-03 3.362372e-03
f__Pumilibacteraceae 2.041528e-03 2.464352e-03
f__Massilibacillaceae 1.915668e-03 3.861941e-03
f__Succinispiraceae 1.875117e-03 2.130021e-03
f__UBA1997 1.620725e-03 4.440974e-03
f__Chitinibacteraceae 1.502709e-03 3.412014e-03
f__Pseudomonadaceae 1.420060e-03 2.808340e-03
f__Peptococcaceae 1.264453e-03 1.169734e-03
f__Elusimicrobiaceae 1.261359e-03 4.278766e-03
f__Burkholderiaceae_A 9.378374e-04 2.509149e-03
f__CAG-508 9.213532e-04 4.996540e-03
f__Coprobacteraceae 9.079215e-04 1.527339e-03
f__Shewanellaceae 8.297368e-04 2.690699e-03
f__Coprobacillaceae 7.318328e-04 1.542562e-03
f__Sedimentibacteraceae 6.927406e-04 1.016728e-03
f__Xanthobacteraceae 6.440180e-04 2.407832e-03
f__UBA1820 5.396558e-04 9.137754e-04
f__GCF-1484045 4.480219e-04 2.494481e-03
f__CALVMC01 3.833973e-04 1.889124e-03
f__Chlamydiaceae 3.250519e-04 8.432063e-04
f__Borkfalkiaceae 3.144307e-04 5.804720e-04
f__UBA7702 2.807538e-04 6.721141e-04
f__Eubacteriaceae 2.693395e-04 4.861755e-04
f__UBA3700 1.657496e-04 9.228548e-04
f__CALYAR01 1.366137e-04 2.325915e-04
f__Enterococcaceae 1.029579e-04 5.732451e-04
f__UBA660 2.552412e-05 7.936623e-05
family_arrange <- family_summary %>%
    group_by(family) %>%
    summarise(mean=sum(relabun)) %>%
    arrange(-mean) %>%
    select(family) %>%
    pull()

# Per origin
family_summary %>%
    left_join(genome_metadata %>% select(family,phylum) %>% unique(),by=join_by(family==family)) %>%
    left_join(sample_metadata,by=join_by(sample==sample)) %>%
    filter(family %in% family_arrange[1:20]) %>%
    mutate(family=factor(family,levels=rev(family_arrange[1:20]))) %>%
    filter(relabun > 0) %>%
    ggplot(aes(x=relabun, y=family, group=family, color=phylum)) +
        scale_color_manual(values=phylum_colors[-8]) +
        geom_jitter(alpha=0.5) + 
        facet_grid(.~environment)+
        theme_minimal() + 
        labs(y="Family", x="Relative abundance", color="Phylum")

5.2.2 Genus

genus_summary <- genome_counts_filt %>%
  mutate_at(vars(-genome),~./sum(.)) %>% #apply TSS nornalisation
  pivot_longer(-genome, names_to = "sample", values_to = "count") %>% #reduce to minimum number of columns
  left_join(sample_metadata, by = join_by(sample == sample)) %>% #append sample metadata
  left_join(genome_metadata, by = join_by(genome == genome)) %>% #append genome metadata
  group_by(sample,phylum,genus) %>%
  summarise(relabun=sum(count)) %>%
  filter(genus != "g__") %>%
  mutate(genus= sub("^g__", "", genus))

genus_summary_sort <- genus_summary %>%
    group_by(genus) %>%
    summarise(mean=mean(relabun, na.rm=T),sd=sd(relabun, na.rm=T)) %>%
    arrange(-mean) 

genus_summary_sort %>%
    tt()
tinytable_ddgmtnbkfhap5sw6v3gb
genus mean sd
Bacteroides 2.676340e-01 1.399196e-01
Parabacteroides 6.376349e-02 3.960345e-02
Mucinivorans 6.085416e-02 4.344629e-02
Aeromonas 3.216280e-02 5.116161e-02
Mycoplasma_L 2.602922e-02 8.972179e-02
Akkermansia 2.440550e-02 3.614255e-02
Odoribacter 2.389115e-02 2.235810e-02
JADFUS01 2.216792e-02 1.316718e-02
Hafnia 1.922885e-02 9.188555e-02
UBA866 1.817084e-02 2.179441e-02
Alistipes 1.625622e-02 1.344232e-02
Plesiomonas 1.460621e-02 3.266225e-02
Parabacteroides_B 1.344298e-02 1.263954e-02
Acinetobacter 1.342615e-02 2.724203e-02
Cetobacterium 1.241520e-02 2.123151e-02
Dielma 1.189375e-02 1.483388e-02
Clostridium 1.178483e-02 1.804656e-02
14-2 9.530791e-03 2.077519e-02
Bilophila 9.443387e-03 1.270499e-02
CAJGBR01 9.261016e-03 8.562777e-03
Angelakisella 7.718052e-03 7.686128e-03
Clostridium_Q 7.535231e-03 8.628377e-03
JAIHAL01 7.428449e-03 1.475536e-02
Gallibacteroides 7.109525e-03 8.651652e-03
Bacteroides_G 5.906571e-03 6.736493e-03
Hydrogenoanaerobacterium 5.795122e-03 6.095362e-03
Buttiauxella 5.526548e-03 1.517479e-02
SZUA-378 5.304805e-03 1.559558e-02
Malacoplasma 5.193336e-03 1.101657e-02
HGM05232 5.091676e-03 6.107022e-03
Hungatella_A 4.823985e-03 5.525123e-03
Anaerotruncus 4.430928e-03 4.607282e-03
Pseudoflavonifractor 3.911764e-03 4.052227e-03
Alistipes_A 3.867619e-03 3.658744e-03
Intestinimonas 3.801876e-03 3.660942e-03
Tidjanibacter 3.641420e-03 3.113585e-03
Anaerovorax 3.457110e-03 7.930141e-03
Anaerorhabdus 3.342681e-03 4.665953e-03
Paraclostridium 3.303535e-03 1.632282e-02
Gallalistipes 2.764951e-03 2.526439e-03
Avirikenella 2.703337e-03 4.073629e-03
Mobilisporobacter 2.643797e-03 4.233095e-03
UMGS1251 2.623868e-03 4.428322e-03
RGIG3102 2.550546e-03 4.796159e-03
Egerieousia 2.488889e-03 4.069053e-03
JAGAJR01 2.433883e-03 5.478338e-03
Craterilacuibacter 2.083279e-03 9.013217e-03
Copranaerobaculum 2.066120e-03 8.740585e-03
UMGS1202 1.928935e-03 2.061976e-03
Sarcina 1.883573e-03 3.313599e-03
JAAYQI01 1.821441e-03 2.177416e-03
Amedibacillus 1.771861e-03 2.511258e-03
JAHHTP01 1.702809e-03 2.122800e-03
Rikenella 1.556573e-03 2.583114e-03
Romboutsia_D 1.554865e-03 3.682587e-03
Evtepia 1.531626e-03 1.774639e-03
Ruthenibacterium 1.530835e-03 2.751232e-03
Deefgea 1.502709e-03 3.412014e-03
Intestinibacillus 1.498170e-03 1.772211e-03
Budvicia 1.431037e-03 6.773380e-03
Butyricimonas 1.422311e-03 1.973337e-03
Pseudomonas_E 1.420060e-03 2.808340e-03
JAGNZR01 1.273646e-03 4.170041e-03
Phocea 1.209038e-03 2.372714e-03
RGIG4140 1.207336e-03 6.396700e-03
Negativibacillus 1.182472e-03 1.519004e-03
WRKB01 1.173050e-03 2.875486e-03
Spyradomonas 1.153313e-03 1.963346e-03
Aminipila 1.114705e-03 2.324044e-03
Romboutsia_A 1.070399e-03 1.851798e-03
Serratia_A 1.045777e-03 3.540183e-03
CAKVBE01 1.027988e-03 3.204532e-03
JAEZVV01 9.378374e-04 2.509149e-03
RGIG8482 9.213532e-04 4.996540e-03
Coprobacter 9.079215e-04 1.527339e-03
RGIG7389 9.070330e-04 1.099182e-03
Massiliimalia 8.310581e-04 1.432050e-03
Shewanella 8.297368e-04 2.690699e-03
UBA7488 8.270131e-04 1.824546e-03
Robinsoniella 7.608379e-04 1.761894e-03
Coprobacillus 7.318328e-04 1.542562e-03
Bacilliculturomica 7.288853e-04 1.183076e-03
Kluyvera 7.218591e-04 3.082164e-03
JAJBUQ01 6.689051e-04 1.230310e-03
IOR16 6.685867e-04 9.975667e-04
UBA1174 6.599272e-04 3.520933e-03
Bradyrhizobium 6.440180e-04 2.407832e-03
HGM16780 6.169676e-04 2.571909e-03
MGBC133411 5.654305e-04 9.653080e-04
Amedibacterium 5.586566e-04 2.772281e-03
Citrobacter 4.794230e-04 1.553079e-03
Anaerotignum 4.725340e-04 1.010493e-03
Muricomes 4.633015e-04 6.762865e-04
Fimivivens 4.584178e-04 6.442620e-04
51-20 3.751337e-04 2.088656e-03
JAGPHI01 3.353114e-04 7.138362e-04
UBA1794 3.283644e-04 5.787967e-04
Yersinia 3.213296e-04 1.133201e-03
Longicatena 3.101858e-04 1.727042e-03
Massilioclostridium 2.871724e-04 6.480957e-04
Cryptoclostridium 2.807538e-04 6.721141e-04
CALXSC01 2.509121e-04 7.682134e-04
Hespellia 2.508300e-04 4.781272e-04
Dysosmobacter 2.451443e-04 4.863795e-04
Scatenecus 2.189717e-04 1.074567e-03
Faecalimonas 2.166638e-04 4.418007e-04
CAZU01 1.870860e-04 1.041651e-03
SIG603 1.481655e-04 2.720693e-04
Lactonifactor 1.397483e-04 5.021416e-04
Enterococcus 1.029579e-04 5.732451e-04
MGBC107952 2.552412e-05 7.936623e-05
genus_arrange <- genus_summary %>%
    group_by(genus) %>%
    summarise(mean=sum(relabun)) %>%
    filter(genus != "g__")%>%
    arrange(-mean) %>%
    select(genus) %>%
    mutate(genus= sub("^g__", "", genus)) %>%
    pull()

#Per pond
genus_summary %>%
    left_join(sample_metadata,by=join_by(sample==sample)) %>%
    mutate(genus=factor(genus, levels=rev(genus_summary_sort %>% pull(genus)))) %>%
    filter(relabun > 0) %>%
    ggplot(aes(x=relabun, y=genus, group=genus, color=phylum)) +
        scale_color_manual(values=phylum_colors) +
        geom_jitter(alpha=0.5) + 
        facet_grid(.~environment)+
        theme_minimal() + 
        labs(y="Family", x="Relative abundance", color="Phylum")